Improving search.cpan.org (Advanced Search)

Limbic Region on 2009-06-16T20:26:34

Here are some random features I think would make an "advanced search" for search.cpan.org nice

  • Being able to search for XS/PP/Either
  • Being able to sort results by things like
    • Kwalitee
    • Create Date (how old it is)
    • Number of downloads
    • Last Update Date
    • Rating (for CPAN rated modules)
    • CPAN tester results
    • Liklihood it will install
    • Number of dependencies
    • relevance (how closely does module match your search terms)
    • Stability (alpha, beta, production ready)
    • etc
  • Stealing from WAIT
  • Being able to specify a compatability requirement
    • Minimum version of perl
    • OS
    • Platform
    • License
    • etc
  • Providing a code search (like Google's Code Search)
  • Recommendations ("User's who looked at this module also looked at...") like "Related Modules" only better
  • Ability to support more human related questions ("How do I parse IP addresses" or even "parse IP addresses")
  • Of course, a number of the things in the sort by could also be used as search criteria such as "minimum kwalitee" or "must have POD/Tests/etc"
  • Number of bugs in RT queue

These were some ideas that came to mind and not a lot of thought went into them. Feel free to add your own - I know someone who may actually be motivated to implement some of them as an alternate to search.cpan.org is reading :-)


rethinking CPAN

petdance on 2009-06-16T21:14:08

http://groups.google.com/group/rethinking-cpan is a group I put together that sporadically discusses these issues.

My gut feel right now: I'm not very interested in improving the Perl 5 CPAN. Instead, I think we should make the Perl 6 CPAN, or whatever it is, be a leapfrog over current goodness.

Re:rethinking CPAN

Limbic Region on 2009-06-16T21:45:41

I specifically limited my ideas to searching because, while I too think that the entirety of CPAN could use some rethinking, it isn't something any one person can do. Providing a different front end search engine is something anyone should be able to do without ruffling any feathers.

I am not sold on the idea perl 6 is taking regarding modules will make choosing a module any easier. Providing a more flexible search engine now isn't going to be wasted in that regard.

I will reserve my opinions on the rest of CPAN because it isn't fair of me to throw stones without volunteering to do something about it - and at this point, I don't even have any square tuits let alone round ones.

Re:rethinking CPAN

petdance on 2009-06-16T21:58:57

I will reserve my opinions on the rest of CPAN because it isn't fair of me to throw stones without volunteering to do something about it

I've always thought this was a BS argument. Sometimes the "do something about it" is "come up with the brilliant idea." It's all a matter of your expectations.

There's nothing at all wrong with saying "Here are some ideas I have for what I'd like to see CPAN to do." That's why I started the rethinking-cpan list.

Anyone who has a problem with pie-in-the-sky imagining is a crank.

Re:rethinking CPAN

Limbic Region on 2009-06-16T22:38:19

I agree that it is BS to not offer up an idea for improvement because you are concerned about not being able to help do it.

That's not where I was coming from here. Reserving my opinions means not complaining. I don't have any ideas about how to make it better, I just know what I don't like.

The argument then could be made that there is still value in even that - pointing out the things that could use improvement. Again, I have to counter with I would only be echo'ing what I have heard others already say much more effectively than I could.

So, rest assured that I am not holding back ideas (good or otherwise). I am just not complaining either.

Re:rethinking CPAN

Alias on 2009-06-17T08:09:19

They key with complaining about what you don't like is.

1. Don't say things like "it should be better", because if you are complaining, clearly it SHOULD be better, saying so is just bait for trolls and nitpickers.

2. Don't demand that the people make it better, don't make a request that someone write a better replacement.

Just keep the complaint tightly focused on your opinion, and what you don't like, and you've provided the data point that the people responsible for the problem are interested in. When you don't have an answer to the problem, that level of complaining is valuable. Let the maintainers if the problem justifies a solution (either now, or ever).

But overall, your input is useful.